home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 2000
/
MacHack 2000.toast
/
pc
/
The Hacks
/
Easy as pi dcmd ƒ
/
dcmdGlue.a
< prev
next >
Wrap
Text File
|
2000-06-23
|
2KB
|
92 lines
EntryPoint MAIN
IMPORT CommandEntry, _DATAINIT
JMP CommandEntry
; This is never executed. Used to force the linker to give us a %A5Init segment.
LEA _DATAINIT, A0
ENDMAIN
dcmdGetMacroName PROC EXPORT
CLR.L 8(SP)
IMPORT FixdcmdGetMacroName
BRA.S FixdcmdGetMacroName
ENDPROC
MacsBugTable PROC
EXPORT dcmdDrawLine
dcmdDrawLine BSR.S MacsBugDisp
EXPORT dcmdDrawString
dcmdDrawString BSR.S MacsBugDisp
EXPORT dcmdDrawPrompt
dcmdDrawPrompt BSR.S MacsBugDisp
EXPORT dcmdGetPosition
dcmdGetPosition BSR.S MacsBugDisp
EXPORT dcmdSetPosition
dcmdSetPosition BSR.S MacsBugDisp
EXPORT dcmdGetNextParameter
dcmdGetNextParameter BSR.S MacsBugDisp
EXPORT dcmdGetNextExpression
dcmdGetNextExpression BSR.S MacsBugDisp
EXPORT dcmdGetBreakMessage
dcmdGetBreakMessage BSR.S MacsBugDisp
EXPORT dcmdGetNameAndOffset
dcmdGetNameAndOffset BSR.S MacsBugDisp
EXPORT dcmdGetTrapName
dcmdGetTrapName BSR.S MacsBugDisp
EXPORT dcmdGetNextChar
dcmdGetNextChar BSR.S MacsBugDisp
EXPORT dcmdPeekAtNextChar
dcmdPeekAtNextChar BSR.S MacsBugDisp
EXPORT dcmdSwapWorlds
dcmdSwapWorlds BSR.S MacsBugDisp
EXPORT dcmdSwapScreens
dcmdSwapScreens BSR.S MacsBugDisp
EXPORT dcmdForAllHeapBlocks
dcmdForAllHeapBlocks BSR.S MacsBugDisp
EXPORT dcmdScroll
dcmdScroll BSR.S MacsBugDisp
EXPORT dcmdDrawText
dcmdDrawText BSR.S MacsBugDisp
EXPORT FixdcmdGetMacroName
FixdcmdGetMacroName
BSR.S MacsBugDisp
NOP ; yes, we need it
MacsBugDisp
MOVE.L (SP)+, D0 ; get table rtn addr (which is 2 more than the bra.s)
LEA MacsBugTable+2, A1 ; get beginning of table
SUB.L A1, D0 ; offset from beginning of table
LSR.L #1, D0 ; div by 2
MOVE.L (A7)+, A0 ; get dcmd return address
MOVE.W D0, -(A7) ; push selector
MOVE.L A0, -(A7) ; push dcmd return address
; Since there is no jump table (only one segment allowed), MacsBug puts its callback
; address at 4(A5).
MOVE.L 4(A5), A0
JMP (A0)
ENDP
END